

import sys         # 引入 sys 模块
print("hello python")

#--------------------------注释
# python 代码前面不能有空格
# 单行注释
'''
多行注释
'''
"""
多行注释
"""

#--------------------------基本数据类型

counter = 100 #整型变量
miles = 1000.9 #浮点型变量
name = "test" #字符串

print(counter)
print(miles)
print(name)

a = b = c = 1 #多个变量赋值

#标准数据类型
#不可变数据 number、string、tuple
num = 1
5 + 4 #加法
4.3 - 2 #减法
3 * 7 #乘法
2 / 4 #除法， 得到一个浮点数
2 // 4 #除法， 得到一个整数 ，取整
17 % 3 #取余
2 ** 5 #乘方
abs(-40) #绝对值

str = 'runoob'
print(str)
print(str[0:-1]) #输出第一个到倒数第二个的所有字符
print(str[0]) #输出字符串第一个字符
print(str[2:5]) #输出第三个到第五个字符
print(str[2:]) #输出第三个到最后一个字符
print(str*2) #输出两次字符串
print(str + "test") #输出字符串拼接

tuple = ('abcd', 786 , 2.23, 'runoob', 70.2 )
tinytuple = (123, 'runoob')
print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组


#可变数据   list、dictionary、set

list = ['abcd', 786 , 2.23, 'runoob', 70.2 ]
tinylist = [123, 'runoob']
print(list)
print(list[0])
print(list[1:3]) #输出第二个到第三个
print(list[2:]) #输出第三个到最后一个
print(list * 2)
print(list + tinylist)

sites = {'Google', 'Taobao', 'Runoob', 'Facebook', 'Zhihu', 'Baidu'}
print(sites) #重复的元素会被去掉
if 'Runoob' in sites:
    print("Runoob在集合中")
else:
    print("Runoob不在集合中")
# set可以进行集合运算
a = set('abracadabra')
b = set('alacazam')
print(a)
print(a - b) #a和b的差集   a中有b中没有的元素
print(a | b) #a和b的并集   存在 a或b中的元素
print(a & b) #a和b的交集    同时存在两个集合中的元素
print(a ^ b) #a和b中不同时存在的元素

dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2] = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}
print(dict['one']) #输出键为'one'的值
print(dict[2]) #输出键为2的值
print(tinydict) #输出完成字典
print(tinydict.keys())    #输出所有键
print(tinydict.values()) #输出所有值

#循环语句
n = 100
sum = 0
counter = 1
while counter <= n:
    sum = sum + counter
    counter += 1
print("1到%d之和为：%d" %(n,sum))

for site in sites:
    if site == "Runoob":
        print("菜鸟")
        break
    print("循环数据："+site)
else:
        print("没有循环数据")
print("完成循环")

#迭代器和生成器
it = iter(list)
for x in it:
    print(x,end=" ")
    
while True:
    try:
        print (next(it))
    except StopIteration:
        sys.exit()
        
def area(width, height):
    return width*height

def print_welcome(name):
    print("welcome", name)
    return
print_welcome("Runoob")
w = 4
h = 5
print("width =", w, " height =", h, " area =", area(w, h))


